// 深度克隆 兼容数组
// 测试用例
// const target = {
//   field1: 1,
//   field2: undefined,
//   field3: {
//       child: 'child'
//   },
//   field4: [2, 4, 8]
// };
function deepClone(obj){
  // 判断是否是数组
  var newObj = obj instanceof Array ? [] : {};
  // 遍历数组
  for(var item in obj){
    // 如果是对象 递归 
    var temple = typeof obj[item] == 'object' ? deepClone(obj[item]) : obj[item]
    newObj[item] = temple
  }
  return newObj
}